import request from '@/utils/request'
import { useUserStore } from '@/store/userStore'

const userStore = useUserStore();

/**
 * 获取卡片数据
 * @returns {Promise} 返回卡片数据
 */
export function getCards() {
  return request({
    url: '/cards',
    method: 'get'
  })
}

/**
 * 发送聊天消息
 * @param {Object} data - 消息数据
 * @param {string} data.chatId - 聊天ID
 * @param {string} data.message - 消息内容
 * @param {number} data.timestamp - 时间戳
 * @returns {Promise} 返回AI响应数据
 */
export function sendMessage(data) {
  return request({
    url: '/chat/message',
    method: 'post',
    data
  })
}

/**
 * 获取聊天历史
 * @param {string} chatId - 聊天ID
 * @returns {Promise} 返回聊天历史数据
 */
export function getChatHistory(chatId) {
  return request({
    url: `/chat/history/${chatId}`,
    method: 'get'
  })
}


/* 获取健康模块选择选项 */
export function getQuestionList(cid) {
  return request({
    url: `/v6/index/getQuestionList?cid3=${cid}`,
    method: 'get'
  })
}

/**
 * 提交健康咨询
 * @param {Object} data - 咨询数据
 * @returns {Promise} 返回咨询结果
 */
export function submitHealthQuery(data) {
  return request({
    url: '/v6/index/latestPersonPredict',
    method: 'post',
    data
  })
}

/**
 * 获取预测结果
 * @param {Object} data - 请求参数
 * @param {number} data.history_id - 历史记录ID
 * @param {number} data.flag - 标记
 * @param {number} data.isHidden - 是否隐藏
 * @param {number} data.isIos - 是否iOS设备
 * @returns {Promise} 返回预测结果
 */
export function getPredict(data) {
  return request({
    url: '/v6/index/getPredict',
    method: 'get',
    params: data
  })
}


//登录
export function login(data) {
  return request({
    url: '/v6/index/login',
    method: 'post',
    data
  })
}

//发送验证码
export function sendSmsCode(data) {
  return request({
    url: '/v6/index/sendSmsCode',
    method: 'post',
    data
  })
}

//注册
export function register(data) {
  return request({
    url: '/v6/index/doReg',
    method: 'post',
    data
  })
}

/**
 * 获取用户套餐信息
 * @returns {Promise} 返回用户套餐信息
 */
export function getUserCombo() {
  return request({
    url: '/v6/combo/getUserCombo',
    method: 'post',
    data: {
      user_phone: userStore.getUserName.username || ''
    }
  })
}

/**
 * 充值套餐
 * @param {Object} data - 充值数据
 * @param {string} data.package_type - 套餐类型
 * @param {number} data.amount - 充值金额
 * @returns {Promise} 返回充值结果
 */
export function rechargePackage(data) {
  return request({
    url: '/v6/combo/recharge',
    method: 'post',
    data: {
      ...data
    }
  })
}

/**
 * 查询支付订单状态
 * @param {string} orderSn - 订单编号
 * @returns {Promise} 返回订单状态
 */
export function checkOrderStatus(orderSn) {
  return request({
    url: '/v6/combo/checkOrderStatus',
    method: 'get',
    params: { order_sn: orderSn }
  })
}

/**
 * PayPal支付回调验证
 * @param {Object} data - 回调数据
 * @param {string} data.order_id - PayPal订单ID
 * @param {string} data.order_sn - 系统订单号
 * @returns {Promise} 返回验证结果
 */
export function paypalCapture(data) {
  return request({
    url: '/v6/combo/paypalCapture',
    method: 'post',
    data
  })
}